// action => 处理异步
import { adminLoginAPI } from "@/api/admin";
import { initUser } from "./types";

// 引入常量  调用mutation的中的方法
import { UPDATE_AUTHORITY_INFO } from "./types";



export default {
    getAndUpdateAuthorityInfo:function({commit}){
        var str = localStorage.getItem("userInfo"); // 取数据(json字符串)
        if(str){ // 有数据 ->再解析
            let data = JSON.parse(str);
            commit(UPDATE_AUTHORITY_INFO,data);
        }
    },
    loginAndUpdateAuthorityInfo:function({commit},payload){
        // 返回Promise实力 后续继续接then和catch
        return adminLoginAPI(payload).then(res=>{
            console.log("登陆成功",res);
            var {data} = res;
            commit(UPDATE_AUTHORITY_INFO,data);
            localStorage.setItem("userInfo",JSON.stringify(data));
            // var {code,message,data} = res;
            // if(code == "200"){
            //     commit(UPDATE_AUTHORITY_INFO,data);
            //     localStorage.setItem("userInfo",JSON.stringify(data));
            // }else if( code == '10003'){  // 密码有误
            //     // alert(message);
            //     var err = new Error(message);
            //     throw err;  // 抛出错误 => 会被后续的catch捕获(错误统一处理)
            // }
        })
    },
    exitAndUpdateAuthorityInfo:function({commit}){
        // 返回Promise实力 后续继续接then和catch
        let data = initUser();
        commit(UPDATE_AUTHORITY_INFO,data);
        localStorage.removeItem("userInfo");
    }

}